package com.xmb.wcapi.entity;

import java.util.Date;
import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author huangping
 * @since 2024-06-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BaseMaterial implements Serializable {

    private static final long serialVersionUID=1L;

    private String id;

    /**
     * 层级
     */
    private int levels;

    /**
     * 东矩料号
     */
    private String djMaterial;

    /**
     * 客户料号
     */
    private String cusMaterial;

    /**
     * 东矩料号
     */
    @TableField(exist = false)
    private String djMaterialCopy;

    /**
     * 客户料号
     */
    @TableField(exist = false)
    private String cusMaterialCopy;

    /**
     * 料号描述
     */
    private String materialMrk;

    /**
     * 机种
     */
    private String typeOfMachine;

    /**
     * 供应商编码
     */
    private String cusCode;

    /**
     * 供应商名称
     */
    private String cusName;

    /**
     * 料号类别（半成品/辅料）
     */
    private String classType;

    /**
     * 料号类别（半成品/辅料）
     */
    @TableField(exist = false)
    private String classTypeCopy;

    /**
     * 料号类别名称
     */
    private String className;


    /**
     * 单位用量
     */
    private String baseQty;

    /**
     * 创建人
     */
    private Long createUser;

    /**
     * 创建时间
     */
    private Date createTime;

    private String bomId;

    private String modifyDate;

    private String parentBomId;

    private String opComponentId;

    private String componentId;

    private String allComponentId;

    @TableField(exist = false)
    private String version;


    /**
     * 入库数
     */
    @TableField(exist = false)
    private Long inSum;

    /**
     * 出库数
     */
    @TableField(exist = false)
    private Long outSum;

    /**
     * 库存
     */
    @TableField(exist = false)
    private Long sum;

    /**
     * 成套数
     */
    @TableField(exist = false)
    private Long suitSum;

    /**
     * 仓库名称
     */
    @TableField(exist = false)
    private String positionName;

    @TableField(exist = false)
    @JsonProperty("LAY_CHECKED")
    private boolean LAY_CHECKED;

    private boolean checked;


    /**
     * 需要扣除的量
     */
    @TableField(exist = false)
    private Long deductionSum;

    /**
     * 下阶料号
     */
    @TableField(exist = false)
    private String nextMaterial;

}
